home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 4 / Light ROM 4 - Disc 1.iso / text / net_news / 1995 / 011295.doc / text0023.txt < prev    next >
Encoding:
Text File  |  1995-03-24  |  5.1 KB  |  119 lines

  1. jlucca@dtd.com (Joseph Lucca) baffles us with:
  2. >I have project need to be done using Lightwave. I have couple questions:
  3. >(1) How to create the fur of polar bear?
  4.  
  5. Here is an old short tutorial on doing fur that I wrote for 3DStudio
  6. users. It uses particle systems. I had thought that this algorithm
  7. was similar to the one used at Rhythm & Hues -- I have since found
  8. that it is in fact faster, though very similar. I expect that the speed
  9. incease is mainly due to hardware vs software implementations. I have
  10. heard rumors that another similar system is in use at Lucas.
  11.  
  12. Before you go to far: it requires an SGI.
  13.  
  14. ----
  15.  
  16. I have received a surprising number of queries regarding fur. It's possible
  17. to make fur on 3D objects by using NatPix Blizzard, National Pixel's particle
  18. animation system for Silicon Graphics. This algorithm appears to be very
  19. similar to the one used at Rhythm & Hues for the Coca-Cola polar bears,
  20. though obviously implementation particulars vary.
  21.  
  22. The technique requires multiple 3D render passes and one particle-render pass,
  23. along with some compositing (some of which may be performed directly in
  24. Blizzard).
  25.  
  26. The algorithm is sketched-out as follows. I assume you have some familiarity
  27. with Blizzard -- if not, you may want to try the demo version at
  28. ftp.netcom.com:/pub/na/natpix/blizdemo.tar.Z, or through the NatPix WWW
  29. server at ftp://ftp.netcom.com/pub/na/natpix/html/natpix.html.
  30.  
  31. The first 3D pass is a standard color pass. I recommend that some simple
  32. hairy details be painted-on the surface and bump-mapped -- we will be using
  33. these colors to color the hair later, so flat-colored surfaces will be
  34. boring. This image is "color.tif"
  35.  
  36. (Blizzard accepts images in TIFF and SGI (.rgb) format. IRIX comes with tools
  37. to convert .tga, pict, and other formats to SGI format. I will use ".tif" here
  38. simply for clarity)
  39.  
  40. The next pass is a "hair length" pass. We color the surface with a texture
  41. indicating the relative length of fur in that region. The image is rendered
  42. with full ambient color, no other shading. The result is a grayscale image map
  43. where long hair is brighter than short. Call this grayscale image "length.tif"
  44.  
  45. The next images are designed to extract the X/Y components of the surface
  46. normal.  This technique is described in detail in the Siggraph issue of
  47. 3D ARTIST in the article "Raytracing in Photoshop" by... yhos. Color the
  48. surface chalk-white (all diffuse, no ambient or specular), place an infinite
  49. red directional light to the left, and an infinite green direction light
  50. straight down. Render as "dir1.tif"
  51.  
  52. Move the red light to the right, and the green light straight up. Render as
  53. "dir2.tif" 
  54.  
  55. Now composite. Make a new image from "dir1" and "dir2" -- multiply
  56. both by .5, then make a constant 128-gray image the same size. Add dir2.
  57. Subtract dir1. We now have an image which varies in red and green according
  58. to the surface normal (like a photoshop displacement map). Call the result
  59. "normal.tif"
  60.  
  61. (The 3D ARTIST article also describes how you can do the previous few steps
  62. in a single pass using RenderMan, if you have it available)
  63.  
  64. We also need a grayscale image showing the image contours. We can do this as
  65. the blue element of one of the "dir" images, or as a separate render. Place
  66. a (blue) light at the camera, shining at the chalk surface. Render. Subtract
  67. the blue channel from the alpha channel. You will have a grayscale image where
  68. all contour edges are bright, and face-on edges are dark. We will use this
  69. image to help modulate hair density along the contour edge. I often find that
  70. changing its dynamic range is useful -- push the blacks down so that more
  71. of the image is completely black. Call this "density.tif"
  72.  
  73. Multiply "length.tif" by "density.tif" to get "nlen.tif"
  74.  
  75. Now we start blizzard. Here's the basic script template:
  76.  
  77.     fami fuzz
  78.     blur fuzz on
  79.     shut fuzz 360
  80.     matn fuzz density.tif
  81.     pixs fuzz color.tif
  82.     dire fuzz 90 0 1 normal.tif
  83.     # varying the max speed here will vary overall hair length
  84.     spee fuzz 0 8 1 nlen.tif
  85.     size fuzz .35 .5 1
  86.     lumi fuzz 1 1 1
  87.     opaq fuzz 1 1 1
  88.  
  89.     base color.tif
  90.  
  91.     crea fuzz
  92.     adva fuzz
  93.     draw
  94.     writ fur.tif
  95.  
  96. "Fur.tif" will be the resultant furry version of "color.tif."
  97.  
  98. Some steps could be varied or simplified -- for example, plush toys with a
  99. constant-length fur could be made without a "length.tif" element --
  100. "density.tif" would be used in place of "nlen.tif." Varying the luminance
  101. and opacity can alter the final look. Setting Blizzard render quality to some
  102. high value and texture-mapping each hair particle is another possibility (you
  103. may also want to tilt or spin the particles). Another technique to add to the
  104. mix would be a sensitive blurring of the surface along the contour edge
  105. before adding fur -- blur "color.tif," blur "density.tif," then composite
  106. the blurred and unblurred color plates using the blurred density element. Use
  107. this result as the "base" (background image) in Blizzrd, but leave "color.tif"
  108. as the "pixsrc."
  109.  
  110. -- 
  111. =======================================================
  112. Kevin Bjorke            National Pixel Products
  113. bjorke@netcom.com            Mill Valley, CA
  114. (415)383-1638                  Fax (415)383-1456
  115. URL ftp://ftp.netcom.com/pub/na/natpix/html/natpix.html
  116.  
  117.  
  118.  
  119.